#ifndef USBXU_H
#define USBXU_H

#define SKYPE_FR_INTERVAL(fps)      (10000000 / fps)

#if (CUSTOMER == ASU)
#define ASU_CAMERA_APP_VERSION (29)//29 lockdown TAE/TAF process, 30 lockdown effect spec;

    #define ASU_ERR_NONE              0
    #define ASU_ERR_NOT_ALLOWED       1
    #define ASU_ERR_INVALID_ARGUMENT  2
    #define ASU_ERR_NOT_SUPPORTTED    3

typedef __packed struct _FOCUSED_RECT{
    MMP_USHORT wLeft;
    MMP_USHORT wTop;
    MMP_USHORT wRight;
    MMP_USHORT wBottom;
}FOCUSED_RECT;

extern VC_CMD_CFG VC_XU_ASU_FOCUS_RECT_CFG;
extern VC_CMD_CFG VC_XU_ASU_AE_LOCK_CFG;
extern VC_CMD_CFG VC_XU_ASU_AF_LOCK_CFG;
extern MMP_UBYTE m_asuValidRect;

void xu_asu_config_twindow(void);
void xu_asu_config_tae(void);
void xu_asu_config_taf(void);
void xu_asu_set_err(const MMP_UBYTE err);
#else
#define ASU_CAMERA_APP_VERSION (0)
#endif

void usb_vc_eu0_cs(MMP_UBYTE req);
void usb_vc_eu0_cs_out(void);
void usb_vc_eu1_cs(MMP_UBYTE req);
void usb_vc_eu1_cs_out(void);
void usb_vc_eu2_cs(MMP_UBYTE req);
void usb_vc_eu2_cs_out(void);
void usb_vc_eu3_cs(MMP_UBYTE req);
void usb_vc_eu3_cs_out(void);
void usb_vc_eu1_isp_cmd(MMP_UBYTE *cmd);
#endif
